1 package org.saf.struts; 2 3 import org.apache.struts.action.Action; 4 import org.apache.struts.action.ActionForm; 5 import org.apache.struts.action.ActionForward; 6 import org.apache.struts.action.ActionMapping; 7 import org.apache.struts.action.ActionServlet; 8 import org.apache.struts.config.ModuleConfig; 9 import org.apache.struts.tiles.TilesRequestProcessor; 10 11 import org.saf.struts.util.RequestProcessorUtils; 12 13 import java.io.IOException; 14 15 import javax.servlet.ServletException; 16 import javax.servlet.http.HttpServletRequest; 17 import javax.servlet.http.HttpServletResponse; 18 19 20 public class SafTilesRequestProcessor extends TilesRequestProcessor { 21 private RequestProcessorUtils requestProcessorUtils = null; 22 23 public void init(ActionServlet actionServlet, ModuleConfig moduleConfig) 24 throws ServletException { 25 super.init(actionServlet, moduleConfig); 26 requestProcessorUtils = new RequestProcessorUtils(actionServlet, 27 moduleConfig); 28 } 29 30 protected ActionForward processActionPerform(HttpServletRequest request, 31 HttpServletResponse response, Action action, ActionForm form, 32 ActionMapping mapping) throws IOException, ServletException { 33 ActionForward forward = null; 34 requestProcessorUtils.doBeforeAuthorization(action, mapping, form, 35 request, response); 36 37 if (requestProcessorUtils.isAuthorized(action, mapping, form, request, 38 response)) { 39 requestProcessorUtils.doAfterAuthorization(action, mapping, form, 40 request, response); 41 forward = super.processActionPerform(request, response, action, 42 form, mapping); 43 } else { 44 forward = requestProcessorUtils.doAfterAuthorizationFailed(action, mapping, 45 form, request, response); 46 } 47 48 return forward; 49 } 50 }